package com.xiaoshuidi.cloud.module.report.controller.finance.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xiaoshuidi.cloud.framework.common.pojo.PageParam;
import com.xiaoshuidi.cloud.framework.common.util.date.DateUtils;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import static com.xiaoshuidi.cloud.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;


@Setter
@Getter
@ToString
public class ContractRoomDepositReqVO extends PageParam implements Serializable {

    /**
     * 开始时间时间戳
     */
    @DateTimeFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private Date start;


    /**
     * 结束时间时间戳
     */
    @DateTimeFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private Date end;

    @Schema(description = "公寓ids")
    private List<Long> apartmentIds;
    @Schema(description = "支付方式")
    private String payMethod;
    @Schema(description = "合同类型")
    private String contractType;


    @Schema(description = "混合查询参数 交易人，房源")
    private String mixQueryParam;

    private Long tenantId;
}
